home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
eulisp
/
feel-075.lha
/
feel0.75
/
bin
/
new-gcc-ld
< prev
Wrap
Text File
|
1992-03-16
|
1KB
|
74 lines
#!/bin/sh
# $Id: ldn,v 1.2 90/11/29 21:48:09 is Exp $
# $Log: ldn,v $
# Revision 1.2 90/11/29 21:48:09 is
# Changed brad_export to denton_export
#
# Revision 1.1 90/11/29 21:47:24 is
# Replacement ld script for Eulisp
#
PATH=/usr/local/bin:/bin:/usr/bin:/usr/ucb:$PATH
# A replacement LD script.
# Go through the arguements, and try and guess which are the ones
# which are elvira modules. Construct the setup function
echo "Building init_elvira.c"
comline=""
elviram=""
while [ $# -gt 0 ]
do
case "$1" in
-d*) ;;
-e) shift ;;
/lib/crt0.o) ;;
-*)
comline="$comline $1";;
*init_elvira.o)
;;
*elvira.o)
comline="$comline init_elvira.o $1";;
*.o)
comline="$comline $1"
elviram="$elviram $1";;
*)
comline="$comline $1";;
esac
shift
done
# When we get here, we should have a list of .o files belonging to
# Elvira modules
#
# Look for their startup routines
elviram=`echo $elviram | sed 's/\.c/.o/g'`
initnames=`nm -gp $elviram | egrep ' T _INIT_' | awk '{print $3}' | sed 's/_//'`
rm -f init_elvira.c
cat ${FEELDIR}/Src/el_linkins.c > init_elvira.c
echo '
void initialise_elvira_modules(LispObject *stacktop)
{
dp = nil;
dlp = nil;
' >> init_elvira.c
for i in $initnames
do
echo " $i(stacktop);" >> init_elvira.c
done
echo "}" >> init_elvira.c
unset GCC_EXEC_PREFIX
set -x
gcc -v -c $ElviraHdrs init_elvira.c &&
gcc -v `echo $comline | sed -e 's/\/lib\/Mcrt1.o//'`